package org.sjlt.marc.resources;

import java.io.Serializable;
import java.sql.Date;
import java.text.SimpleDateFormat;

import org.json.simple.JSONAware;
import org.json.simple.JSONObject;

public class userData implements JSONAware, Serializable 
{
	private static final long serialVersionUID = 3656800738931586758L;
	
	String UserId;
	String FName;
	String MInitial;
	String LName;
	String Pref_Name;
	Date DOB;
	String Gender;
	String Address;
	String City;
	String Zip;
	String Phone;
	Integer Carrier;
	String Email;
	String Shirt;
	String School;
	Integer Grade;
	String Highest_Sacrament;
	Integer Confirmation;
	String Access_Level;
	String InsuranceCo;
	String InsuranceNum;
	String Medications;
	String Allergies;
	String MedicalIssues;
	Integer PermissionToTreat;
	String EmgContact;
	String EmgRelation;
	String EmgNumber;
	String ReportsTo;
	String Picture;

	public userData(String userId, String fName, String mInitial, String lName,
			String pref_Name, Date dOB, String gender, String address,
			String city, String zip, String phone, Integer carrier, String email, String shirt,
			String school, Integer grade, String highest_Sacrament,
			Integer confirmation, String access_Level, String insuranceCo,
			String insuranceNum, String medications, String allergies,
			String medicalIssues, Integer permissionToTreat, String emgContact,
			String emgRelation, String emgNumber, String reportsTo,
			String picture) {
		super();
		UserId = userId;
		FName = fName;
		MInitial = mInitial;
		LName = lName;
		Pref_Name = pref_Name;
		DOB = dOB;
		Gender = gender;
		Address = address;
		City = city;
		Zip = zip;
		Phone = phone;
		Carrier = carrier;
		Email = email;
		Shirt = shirt;
		School = school;
		Grade = grade;
		Highest_Sacrament = highest_Sacrament;
		Confirmation = confirmation;
		Access_Level = access_Level;
		InsuranceCo = insuranceCo;
		InsuranceNum = insuranceNum;
		Medications = medications;
		Allergies = allergies;
		MedicalIssues = medicalIssues;
		PermissionToTreat = permissionToTreat;
		EmgContact = emgContact;
		EmgRelation = emgRelation;
		EmgNumber = emgNumber;
		ReportsTo = reportsTo;
		Picture = picture;
	}

	@SuppressWarnings("unchecked")
	public String toJSONString() 
	{
		JSONObject obj = new JSONObject();
		
		SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
		
		obj.put("UserId",this.UserId);
		obj.put("FName",this.FName);
		obj.put("MInitial",this.MInitial);
		obj.put("LName",this.LName);
		obj.put("Pref_Name",this.Pref_Name);
		obj.put("DOB",this.DOB==null?"":sdf.format(this.DOB));
		obj.put("Gender",this.Gender);
		obj.put("Address",this.Address);
		obj.put("City",this.City);
		obj.put("Zip",this.Zip);
		obj.put("Phone",this.Phone);
		obj.put("Carrier",this.Carrier);
		obj.put("Email",this.Email);
		obj.put("Shirt",this.Shirt);
		obj.put("School",this.School);
		obj.put("Grade",this.Grade);
		obj.put("Highest_Sacrament",this.Highest_Sacrament);
		obj.put("Confirmation",this.Confirmation);
		obj.put("Access_Level",this.Access_Level);
		obj.put("InsuranceCo",this.InsuranceCo);
		obj.put("InsuranceNum",this.InsuranceNum);
		obj.put("Medications",this.Medications);
		obj.put("Allergies",this.Allergies);
		obj.put("MedicalIssues",this.MedicalIssues);
		obj.put("PermissionToTreat",this.PermissionToTreat);
		obj.put("EmgContact",this.EmgContact);
		obj.put("EmgRelation",this.EmgRelation);
		obj.put("EmgNumber",this.EmgNumber);
		obj.put("ReportsTo",this.ReportsTo);
		obj.put("Picture",this.Picture);
		
		return obj.toJSONString();
	}

	public Integer getCarrier() {
		return Carrier;
	}

	public void setCarrier(Integer carrier) {
		Carrier = carrier;
	}

	public String getUserId() {
		return UserId;
	}

	public void setUserId(String userId) {
		UserId = userId;
	}

	public String getFName() {
		return FName;
	}

	public void setFName(String fName) {
		FName = fName;
	}

	public String getMInitial() {
		return MInitial;
	}

	public void setMInitial(String mInitial) {
		MInitial = mInitial;
	}

	public String getLName() {
		return LName;
	}

	public void setLName(String lName) {
		LName = lName;
	}

	public String getPref_Name() {
		return Pref_Name;
	}

	public void setPref_Name(String pref_Name) {
		Pref_Name = pref_Name;
	}

	public Date getDOB() {
		return DOB;
	}

	public void setDOB(Date dOB) {
		DOB = dOB;
	}

	public String getGender() {
		return Gender;
	}

	public void setGender(String gender) {
		Gender = gender;
	}

	public String getAddress() {
		return Address;
	}

	public void setAddress(String address) {
		Address = address;
	}

	public String getCity() {
		return City;
	}

	public void setCity(String city) {
		City = city;
	}

	public String getZip() {
		return Zip;
	}

	public void setZip(String zip) {
		Zip = zip;
	}

	public String getPhone() {
		return Phone;
	}

	public void setPhone(String phone) {
		Phone = phone;
	}

	public String getEmail() {
		return Email;
	}

	public void setEmail(String email) {
		Email = email;
	}

	public String getShirt() {
		return Shirt;
	}

	public void setShirt(String shirt) {
		Shirt = shirt;
	}

	public String getSchool() {
		return School;
	}

	public void setSchool(String school) {
		School = school;
	}

	public Integer getGrade() {
		return Grade;
	}

	public void setGrade(Integer grade) {
		Grade = grade;
	}

	public String getHighest_Sacrament() {
		return Highest_Sacrament;
	}

	public void setHighest_Sacrament(String highest_Sacrament) {
		Highest_Sacrament = highest_Sacrament;
	}

	public Integer getConfirmation() {
		return Confirmation;
	}

	public void setConfirmation(Integer confirmation) {
		Confirmation = confirmation;
	}

	public String getAccess_Level() {
		return Access_Level;
	}

	public void setAccess_Level(String access_Level) {
		Access_Level = access_Level;
	}

	public String getInsuranceCo() {
		return InsuranceCo;
	}

	public void setInsuranceCo(String insuranceCo) {
		InsuranceCo = insuranceCo;
	}

	public String getInsuranceNum() {
		return InsuranceNum;
	}

	public void setInsuranceNum(String insuranceNum) {
		InsuranceNum = insuranceNum;
	}

	public String getMedications() {
		return Medications;
	}

	public void setMedications(String medications) {
		Medications = medications;
	}

	public String getAllergies() {
		return Allergies;
	}

	public void setAllergies(String allergies) {
		Allergies = allergies;
	}

	public String getMedicalIssues() {
		return MedicalIssues;
	}

	public void setMedicalIssues(String medicalIssues) {
		MedicalIssues = medicalIssues;
	}

	public Integer getPermissionToTreat() {
		return PermissionToTreat;
	}

	public void setPermissionToTreat(Integer permissionToTreat) {
		PermissionToTreat = permissionToTreat;
	}

	public String getEmgContact() {
		return EmgContact;
	}

	public void setEmgContact(String emgContact) {
		EmgContact = emgContact;
	}

	public String getEmgRelation() {
		return EmgRelation;
	}

	public void setEmgRelation(String emgRelation) {
		EmgRelation = emgRelation;
	}

	public String getEmgNumber() {
		return EmgNumber;
	}

	public void setEmgNumber(String emgNumber) {
		EmgNumber = emgNumber;
	}

	public String getReportsTo() {
		return ReportsTo;
	}

	public void setReportsTo(String reportsTo) {
		ReportsTo = reportsTo;
	}

	public String getPicture() {
		return Picture;
	}

	public void setPicture(String picture) {
		Picture = picture;
	}

}
